/* GTK CSS File */

window {
    background-color: #000000;
}

dialog {
    background-color: #202020;
}

#lbl_appname {
    color: #ffffff;
    font: 14px "Sans";
    font-weight: bold;
    padding: 5px;
}

#lbl_status_time,
#lbl_status_bits_samplerate,
#lbl_status_npoints_nwaves {
    color: #ffffff;
    font: 12px "Sans";
    padding: 5px;
}

/* Run-State label styles */
#lbl_status_run {
}

.runstate_common {
    margin: 3px;    
    padding: 1px;
    font: 14px "Sans";
    font-weight: bold;
    border: 1px solid;
    color: #ffffff;
    background-color: #000000;
    border-radius: 4px;
}

.runstate_wait_bri {
    border-color: #ffb600;
    background-image: linear-gradient(0deg, #db6e00, #eda900);
    color: #000000;
}

.runstate_wait_dim {
    border-color: #b0b0b0;
    background-image: linear-gradient(0deg, #4d4d4d, #a6a6a6);
    color: #000000;
}

.runstate_auto_bri {
    border-color: #00ffcc;
    background-image: linear-gradient(0deg, #007362, #00debd);
    color: #000000;
}

.runstate_auto_dim {
    border-color: #b0b0b0;
    background-image: linear-gradient(0deg, #4d4d4d, #a6a6a6);
    color: #000000;
}

.runstate_stop {
    border-color: #dd0000;
    background-image: linear-gradient(0deg, #550000, #cc0000);
    color: #ffffff;
}

.runstate_trigd {
    border-color: #009c4c;
    background-image: linear-gradient(0deg, #004723, #008a43);
    color: #ffffff;
}

/* Timebase, Delay, Trigger boxes */
#box_status_timebase,
#box_status_delay,
#box_status_trigger {
    margin: 3px;
}

#box_status_timebase label,
#box_status_delay label,
#box_status_trigger label {
    font: 14px "Sans";
    font-weight: bold;
}

#lbl_status_timebase_char,
#lbl_status_timebase {
    color: #00debd;
}

#lbl_status_delay_char,
#lbl_status_delay {
    color: #ffffff;
}

#lbl_status_trigger_char {
    /* The colour of this is normally controlled by an external style which is
       driven by the colour of the primary trigger channel. */
    color: #ffffff;
}

#lbl_status_trigger_channel {
    /* The bgcolour of this is normally controlled by an external style which is
       driven by the colour of the channel. */
    background-color: #ffffff;
    color: #000000;
    border-radius: 4px;
    padding: 3px;
}

#lbl_status_trigger_info {
    /* The colour of this is normally controlled by an external style which is
       driven by the colour of the channel. */
    color: #ffffff;
}

/* Status boxes at top of oscilloscope screen (common components). These can be
   constructed from labels or boxes. */
.status_box_left_horiz_common {
    margin: 0px;
    padding: 5px;
    border: 1px solid #555555;
    border-color: #4d4d4d;
    border-radius: 4px;
    border-right-style: none;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    background-image: linear-gradient(0deg, #202020, #404040);
}

.status_box_middle_horiz_common {
    margin: 0px;
    padding: 5px;
    border: 1px solid #555555;
    border-color: #4d4d4d;
    border-left-style: none;
    border-right-style: none;
    background-color: #151515;
}

.status_box_right_horiz_common {
    margin: 0px;
    padding: 5px;
    border: 1px solid #555555;
    border-color: #4d4d4d;
    border-radius: 4px;
    border-left-style: none;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    background-color: #151515;
}

/* Settings/Control Notebook */
#nbk_main_settings {
    margin-top: 5px;
    margin-bottom: 5px;
    background-color: #000000;
    border: none;
}

#nbk_main_settings > header {
    background-color: #000000;
    border-width: 0px;
}

#nbk_main_settings > header tab {
    background-color: #000000;
    color: #ffffff;
    border: none;
    padding: 0px;
    margin-right: 10px;
    margin-left: 0px;
    border: 1px solid #555555;
    border-left: none;
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
    min-width: 0px;
}

/* A button is used so we can absorb the event */
#nbk_main_settings > header tab > button {
    margin: 2px;
    padding: 3px;
    border: none;
    background: none;
    outline: none;
    text-shadow: none;
}

#nbk_main_settings > header tab > button label {
    color: #aaaaaa;
    font: 14px "Sans";
}

#nbk_main_settings > header tab > button:hover label {
    color: #ffffff;
}

#nbk_main_settings > header tab:hover {
    box-shadow: none;
}

#nbk_main_settings > header tab:checked {
    background-image: linear-gradient(90deg, #202020, #282828);
    margin-right: 5px;
    box-shadow: none;
}

#nbk_main_settings > stack, #nbk_main_settings > stack:backdrop {
    background-color: #202020;
    border: 1px solid #555555;
    box-shadow: none;
    padding: 0px;
}

#nbk_main_settings > stack label {
    color: #ffffff;
}

#nbk_main_settings > stack frame {
    margin: 5px;
}

#nbk_main_settings > stack frame border {
    padding: 2px;
}

#nbk_main_settings > stack frame border {
    border: 1px solid #555555;
    border-radius: 4px;
}

#nbk_main_settings > stack frame > label {
    color: #ffffff;
    padding-left: 0px;
    padding-right: 4px;
    font: 12px "Sans";
    font-style: normal;
    background: none;
    box-shadow: none;
}

#nbk_main_settings > stack frame > grid {
    box-shadow: none;
    /*background-color: #ff0000;*/
    padding: 5px;
    margin-top: -10px;
    margin-bottom: -5px;
}

box.channel_tab {
    min-width: 180px;
}

button {
    background-image: linear-gradient(0deg, #202020, #404040);
    border: 1px solid #555555;
    box-shadow: none;
    padding: 5px;
}

button:hover {
    background-image: linear-gradient(0deg, #404040, #808080);
    border: 1px solid #555555;
    box-shadow: none;
}

button:active {
    background-image: linear-gradient(0deg, #404040, #808080);
    border: 1px solid #ffffff;
    box-shadow: none;
}

button label {
    font: 14px "Sans";
    text-shadow: none;
    color: #ffffff;
}

button:disabled {
    background-image: linear-gradient(0deg, #101010, #202020);
    border: 1px solid #555555;
    box-shadow: none;
}

/* Channel tab specific properties */
.chan_name_std {
    padding: 4px;
    padding-top: 10px;
    font: 14px "Sans";
    font-weight: bold;
    min-height: 18px;
}

.chan_name_small {
    padding: 4px;
    padding-top: 10px;
    font: 11px "Sans";
    font-weight: normal;
    min-height: 18px;
}

/* Based on Adwaita for GTK */
switch {
    outline-offset: -4px;
    border: 1px solid #555555;
    border-radius: 12px;
    min-width: 40px;
    min-height: 20px;
    background-color: #202020;
}

switch:checked {
    background-color: #003b93;
    background-image: none;
    border: 1px solid #005eeb;
}

switch:disabled {
    color: #555555;
    background-color: #202020;
    background-image: none;
    border: 1px solid #555555;
}

switch slider {
    margin: 1px;
    min-width: 10px;
    min-height: 10px;
    border: 1px solid #202020;
    border-radius: 10px;
    transition: none;
}

/* On/off button states */
button.button_on {
    background-image: linear-gradient(0deg, #001847, #003b93);
    border-color: #005eeb;
}

button.button_off {
    background-image: linear-gradient(0deg, #202020, #404040);
    border: 1px solid #555555;
}

button.button_off:hover {
    background-image: linear-gradient(0deg, #404040, #808080);
    border: 1px solid #555555;
    box-shadow: none;
}

button.button_on:disabled {
    background-image: linear-gradient(0deg, #202020, #404040);
    border: 1px solid #555555;
    box-shadow: none;
}

button.button_off:disabled {
    background-image: linear-gradient(0deg, #101010, #202020);
    border: 1px solid #555555;
    box-shadow: none;
}

checkbutton > check {
    background-color: #202020;
    background-image: none;
    box-shadow: none;
    border: 1px solid #555555;
}

checkbutton:disabled > check  {
    background-color: #202020;
    background-image: none;
    border: 1px solid #555555;
}

checkbutton:checked > check {
   color: #005eeb;
   box-shadow: none;
   outline: none;
   -gtk-icon-shadow: none;
   border: 1px solid #005eeb;
}

checkbutton:disabled:checked > check {
   color: #555555;
   border: 1px solid #555555;
   transition: 200ms all;
}

checkbutton > label {
    padding-left: 4px;
}

/* Combobox & dropdown */
combobox cellview, combobox arrow {
    color: #ffffff;
    text-shadow: none;
    box-shadow: none;
    text-decoration: none;
}

combobox > window.popup menu menuitem:hover {
    background-color: #555555;
}

combobox > window.popup {
    background: none;
}

combobox > window.popup menu {
    background-color: #282828;
    border: 1px solid #555555;
}

combobox > window.popup menu menuitem {
    background: transparent;
    color: #ffffff;
}
    
combobox > window.popup menu menuitem:hover {
    background-color: #555555;
}

/* Entry boxes */
entry {
    color: #ffffff;
    background-color: #202020;
    border: 1px solid #555555;
    border-radius: 3px;
}

entry:focus {
    color: #ffffff;
    background-color: #404040;
    border: 1px solid #555555;
    box-shadow: none;
    caret-color: #ffffff;
}

/* Scales */
scale trough {
    background-color: #202020;
    border: 1px solid #555555;
}

scale highlight {
    background-color: #003b93;
    border: 1px solid #005eeb;
}

scale value {
    color: #ffffff;
}

/* Notify messages */
.notify_global {
    color: #ffffff;
    border: 1px solid #555555;
    margin: 0px;
    padding: 5px;
    background-image: linear-gradient(0deg, #202020, #404040);
    font: 14px "Sans";
}

.notify_warning {
    background-image: linear-gradient(0deg, #db6e00, #eda900);
    border: 1px solid #ffb600;
    color: #000000;
    font: 16px "Sans";
}

/* Colour picker */
#dlg_colour_picker #lbl_colour_picker_title {
    color: #ffffff;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 4px;
    font: 16px Sans;
    font-weight: bold;
}

#dlg_colour_picker #lbl_colour_picker_sub {
    color: #ffffff;
    padding: 4px;
    margin-right: 10px;
    font: 12px Sans;
}

#dlg_colour_picker entry {
    margin-bottom: 5px;
}

#dlg_colour_picker scale value {
    color: #ffffff;
}

#cpk_colour_preview {
    padding: 5px;
    margin-top: 10px;
    margin-bottom: 10px;
    border: 0px;
    border-radius: 10px;
    /*background-color: #00ff00;*/
}

#dlg_colour_picker scale.hue trough {
    background-size: cover;
    background-image: linear-gradient(90deg, #ff0000 16%, #ffff00 32%, #00ff00 50%, #00ffff 66%, #0000ff 82%, #ff00ff 100%);
    border: 1px solid #202020;
}

#dlg_colour_picker scale.hue highlight {
    background-color: transparent;
    border: 1px solid #202020;
}

#dlg_colour_picker scale.sat trough {
    background-size: cover;
    background-image: linear-gradient(90deg, #ffffff 0%, #0000ff 100%);
    border: 1px solid #202020;
}

#dlg_colour_picker scale.sat highlight {
    background-color: transparent;
    border: 1px solid #202020;
}

/* Menus, including dropdowns */
menu {
    background-image: none;
    background-color: #282828;   
    margin: 1px;
    padding: 0px;
}

menuitem {
    background-image: none;
    background-color: #282828;   
}

menuitem:hover {
    background-image: none;
    background-color: #005eeb;   
    border-color: #005eeb;
}

menuitem > label {
    color: #ffffff;
}

menu > separator {
    background: #333333;
    margin-top: 4px;
    margin-bottom: 4px;
}

/* Dialog box */
messagedialog {
    background-color: #202020;  
}

messagedialog box {
    margin-top: 4px;
}

messagedialog label {
    color: #ffffff;
}

messagedialog button {
    margin: 5px;
}
